typedef int data_t;

typedef struct node{

    data_t data;
    struct node *next;

}listnode, *linklist;

linklist list_create(); //创建
int list_tail_insert( linklist H, data_t value ); //尾部插入元素
linklist list_get( linklist H, int pos ); //指定节点取值
int list_insert( linklist H, data_t value, int pos ); //指定节点插入元素
int list_show( linklist H ); //显示表中所有元素
int list_delete( linklist H, int pos ); //删除某个节点的元素
linklist list_free( linklist H ); //链表中释放所有元素
int list_delete( linklist H, int pos ); //删除链表中某一节点
int list_reversal( linklist H ); //反转
linklist list_max( linklist H, data_t *value ); //相邻两节点data值之和为最大的第一节点的指针,包括只含两个节点加头节点
int list_merge( linklist H1, linklist H2 ); //将有序表A和有序表B合并表A，表A递增有序
int list_rank( linklist H ); //排序
